var __extends = (this && this.__extends) || (function () {
    var extendStatics = Object.setPrototypeOf ||
        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
    return function (d, b) {
        extendStatics(d, b);
        function __() { this.constructor = d; }
        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
    };
})();
var com;
(function (com) {
    var BaseProto = (function () {
        function BaseProto() {
            this.seq = BaseProto.sequence++;
        }
        BaseProto.prototype.getStr = function () {
            return JSON.stringify(this);
        };
        BaseProto.sequence = 0;
        return BaseProto;
    }());
    com.BaseProto = BaseProto;
})(com || (com = {}));
var com;
(function (com) {
    var LoginProto = (function (_super) {
        __extends(LoginProto, _super);
        function LoginProto() {
            var _this = _super.call(this) || this;
            _this.head_name = com.HeadName.login;
            _this.body_name = com.LoginBody.login;
            _this.body = new LoginProtoLogin();
            return _this;
        }
        return LoginProto;
    }(com.BaseProto));
    com.LoginProto = LoginProto;
    var LoginProtoLogin = (function () {
        function LoginProtoLogin() {
        }
        return LoginProtoLogin;
    }());
    com.LoginProtoLogin = LoginProtoLogin;
})(com || (com = {}));
var com;
(function (com) {
    var HeadName;
    (function (HeadName) {
        HeadName[HeadName["login"] = 0] = "login";
        HeadName[HeadName["tadpole"] = 1] = "tadpole";
    })(HeadName = com.HeadName || (com.HeadName = {}));
    var LoginBody;
    (function (LoginBody) {
        LoginBody[LoginBody["login"] = 0] = "login";
        LoginBody[LoginBody["register"] = 1] = "register";
    })(LoginBody = com.LoginBody || (com.LoginBody = {}));
    var tadpoleBody;
    (function (tadpoleBody) {
        tadpoleBody[tadpoleBody["add_user"] = 0] = "add_user";
        tadpoleBody[tadpoleBody["remove_user"] = 1] = "remove_user";
        tadpoleBody[tadpoleBody["move"] = 2] = "move";
    })(tadpoleBody = com.tadpoleBody || (com.tadpoleBody = {}));
    var Code;
    (function (Code) {
        Code[Code["correct"] = 0] = "correct";
        Code[Code["client"] = 1] = "client";
        Code[Code["server"] = 101] = "server";
        Code[Code["s_inquiring"] = 102] = "s_inquiring";
        Code[Code["s_registering"] = 103] = "s_registering";
        Code[Code["server_login_acc_null"] = 104] = "server_login_acc_null";
    })(Code = com.Code || (com.Code = {}));
})(com || (com = {}));
var com;
(function (com) {
    var RegisterProto = (function (_super) {
        __extends(RegisterProto, _super);
        function RegisterProto() {
            var _this = _super.call(this) || this;
            _this.head_name = com.HeadName.login;
            _this.body_name = com.LoginBody.register;
            _this.body = new RegisterProtoRegister();
            return _this;
        }
        return RegisterProto;
    }(com.BaseProto));
    com.RegisterProto = RegisterProto;
    var RegisterProtoRegister = (function () {
        function RegisterProtoRegister() {
        }
        return RegisterProtoRegister;
    }());
    com.RegisterProtoRegister = RegisterProtoRegister;
})(com || (com = {}));
var com;
(function (com) {
    var TadpoleProto = (function (_super) {
        __extends(TadpoleProto, _super);
        function TadpoleProto() {
            var _this = _super.call(this) || this;
            _this.body_name = com.HeadName.tadpole;
            return _this;
        }
        return TadpoleProto;
    }(com.BaseProto));
    com.TadpoleProto = TadpoleProto;
})(com || (com = {}));
module.exports = com;